As is well known, Arabic script is cursive and is used in several languages, namely Arabic, Farsi and Urdu.
It is a context-sensitive script, the form or shape of characters varying in many cases in dependence upon the surrounding characters in any given line of text.
From the context sensitivity of Arabic script, and the fact that it contains many character-form variants, it is readily appreciated that the displaying or printing of such cursive script raises a significant problem in the correct selection of character forms.
Where input is effected by keyboard, the latter must either be designed to provide a key for each and every character form, or must be equipped with multi-function keys.
Any keyboard having separate keys for each form would be unduly cumbersome, while multi-function keys obviously result in a reduction of the rate at which even a skilled operator can produce text. These obvious expedients also lay the onus of proper form selection on the operator.
A better approach is to provide a more or less standard type of keyboard wherein the keys are marked for the basic or stand-alone form of characters, and employ logic to automatically select the appropriate form that each successive character must take.
To date, several efforts have been made to automate selection and, in the main, all appear to have focused on a concept that is well illustrated in U.S. Pat. No. 4,176,974, which issued on Dec. 4, 1979, to W. B. Bishai and J. H. McCloskey and is entitled "Interactive Video Display and Editing of Text in Arabic Script".
The concept noted above is based on the fact that various Arabic characters have respectively different modes of interconnection. Some character forms connect with other characters from both left and right, some may connect only to the right and some are of a stand-alone type connecting neither to the right nor to the left.
In accordance with Bishai et al, (Column 4 Lines 54 to 59), characters that are capable of connection at both sides respectively occur in four different forms:
1. independent or stand-alone (joined neither to right nor left)
2. final or end of word (joined rightwards only)
3. initial or first character in a word (joined leftwards only) (Arabic is written from right to left)
4. medial, or a character between Final and Initial (joined both leftwards and rightwards)
Thus, in the prior art, the forms or shapes that each character can adopt are classified in accorcance with their respective connection-states.
With reference to Bishai et al (supra), the latter, in dealing with multi-form characters within a multi-character word, initially displays each character in its "final" form. This, of course, necessitates a check of at least the preceding character, and, in the majority of cases, a re-shaping of each such character.
More specifically, Bishai et al checks the first preceding character to determine whether to display in Stand-alone or Final form. If Final form is correct, then the second preceding character must be checked to see whether the first preceding character should actually be displayed in the Initial or Medial form.
Further examples of systems or concepts similar to Bishai et al are found in U.S. Pat. Nos. 4,145,570 and 4 298,773, (K. M. Diab), and also in French Patent No. 4,490,365 (G. Kaldes).
A still further example of the above prior art concept is Canadian Pat. No. 1,044,806, issued Dec. 19, 1978, to Syed S. Hyder. The Hyder system is similar to Bishai et al with the exception that Hyder does not immediately display a selected character. Display occurs with the keying of the next character. This is deemed to be potentially confusing for an operator since, at any given time, the operator will key one character and see a different character displayed.
In summary, currently available concepts for the character generation of Arabic script suffer from the following drawbacks:
1. Delayed response when a succeeding character is unknown;
2. Multiple checking of preceding characters;
3. Re-shaping of each displayed character upon determining the succeeding character;
4. Inability to produce initials or acronyms;
5. Inability to support vowels when the latter are supported as separate characters; and
6. Inability to handle character forms that are necessarily displayable only in two adjacent dot matrices.